ハードディスクはパーティションという領域に分割して、利用することができます。Linuxを利用するためには、最低限2つのパーティションが必要になります。
パーティションに分割して利用することで以下のようなメリットがあります。
また、メンテナンスをしやすくするためには、上記のパーティション以外に下のようにパーティションを分ける方がよいでしょう。
ディスクをパーティションに分割して利用するには、以下の点を考慮する必要があります。
LVM(論理ボリューム管理:LogicalVolumeManagement)とは、物理ボリュームのパーティション上にそのままファイルシステムを作成せず、単体又は複数の物理ボリュームをまとめて扱い、ボリュームグループという仮想ディスクを作成し、その上に仮想的なパーティションを作成してボリューム管理する手法です。
メリットはディスクの追加や論理ボリュームの拡張といった作業を、システムを止めずに実行できます。また、複数のディスクをひとつにまとめることで、アプリケーションからは1台の巨大ディスクとして利用できます。とりわけスケーラビリティや高可用性が求められるミッションクリティカル環境では、こうしたLVMの能力はとても有効です。
LVMにはスナップショットと呼ばれる機能が備えられています。これは、論理ボリュームのデータをスナップショットとして取得した時点で、読み取り専用の別の論理ボリュームとしてコピーしておく機能です。スナップショットは論理ボリューム上のすべてのデータのコピーを行うのではなく、元データへのリンク情報のみを作成するため、非常に高速に動作します。スナップショットの取得後に、元データが更新された場合、更新される前のデータをスナップショット領域に保存します。そのため、通常は元データの領域よりも少ない領域(一般的には10%~20%程度)があればスナップショットとして利用できます。 さらに、スナップショットに対しては読み込みしかできないため、データが更新されるといった危険がありません。このため、ファイルシステムのバックアップを取得する際に、まずスナップショットを取得して、バックアップ操作はスナップショットに対して行うことで、バックアップ実行中のデータ更新も発生しなくなるため、バックアップデータの一貫性が保たれます。このようにスナップショット機能はファイルシステムのバックアップを取得する目的に非常に合致します。
fdisk コマンドは、ハード・ディスク領域を分割して複数のパーティションを作成・編集するためのコマンドです。MBR を使う場合、fdiskでパーティションを操作します。fdiskコマンドを実行すると対話型のコマンド入力によって操作を行うことができます。fdiskの実行には、管理者権限(root権限)が必要です。
● fdisk コマンド構文
fdisk [オプション] デバイス |
|
-b ブロック | デバイスのブロック・サイズを指定する |
-C シリンダ | デバイスのシリンダ数を指定する |
-H ヘッダ | デバイスのヘッダ数を指定する |
-S セクター | デバイスの1トラックあたりのセクター数を指定する |
-l | マウントされているデバイスのパーティション情報を表示する |
-u | -l オプションを利用する際、容量をシリンダ数単位で表示する |
-s パーティション | 指定したパーティションの容量を表示する。容量はブロック数 |
a | ブートの可否を切り替える |
b | BSD用パーティションのディスク・ラベルを編集する |
c | DOSコンパチブルの可否を切り替える |
d | パーティションを削除する |
l | 利用可能なパーティション・タイプを表示する |
m | 利用可能なコマンドを一覧する |
n | 新しいパーティションを作成する |
o | DOSパーティションを作成する |
p | パーティション情報を表示する |
q | パーティション情報を保存せずに終了する |
s | SUN用の新しいディスク・ラベルを作成する |
t | パーティション・タイプを変更する。初期値は"Linux native"(83) |
u | 容量の表示単位を切り替える |
v | パーティションを検査する |
w | パーティション情報を書き込んで、終了する |
gdisk コマンドは、ハード・ディスク領域を分割して複数のパーティションを作成・編集するためのコマンドです。GPT(GUID Partition Table)に対応しているため、よりサイズの大きなパーティションを作成できます。gdiskの実行には、管理者権限(root権限)が必要です。
● gdisk コマンド構文
gdisk [オプション] デバイス |
|
-l | 指定したデバイスのパーティションテーブルを一覧表示する |
parted コマンドは、パーティションの作成や削除などに使うコマンドです。fdiskの実行には、管理者権限(root権限)が必要です。
● parted コマンド構文
parted [オプション] デバイス |
|
-l --list |
全てのブロックデバイスのパーティション情報を表示する |
-m --machine |
人間に読みやすい表示ではなく、機械が処理しやすい書式で出力する |
-s --script |
対話処理をしない(「-s デバイス コマンド1 コマンド2……」のように、partedで実行するコマンドを引数として指定する) |
-a 調整方法 --align=調整方法 |
新規パーティションのアラインメント調整方法を以下から選んで指定する。 ・none:ディスクタイプで使用できる最小のアラインメントを使用 ・cylまたはcylinder:シリンダに合わせて調整 ・minまたはminimal:ディスク情報から得られる最小のアラインメントを使用 ・optまたはoptimal:ブロックサイズの倍数に合わせて調整 |
p 対象 print 対象 |
指定した対象を表示する、対象は「devices(パーティションテーブル)」「free(空き領域)」「listまたはall(全てのパーティションの情報、デフォルト)」 |
select デバイス名 | 操作するデバイスを変更する |
align-check 方法 パーティション番号 | パーティションが指定した方法(minまたはopt)で調整されているかどうかをチェックする |
mklabel 種類 mktable 種類 |
しいラベル(パーティションテーブルを指す用語)を作成する。MBRにしたい場合は「msdos」、GPTにしたい場合は「gpt」を指定 |
mkpart 種類1 種類2 開始 終了 | ・MBRの場合:指定したパーティション(種類1)、primary/プライマリ/extended/拡張のいずれか)、ファイルシステム(種類2)、開始位置、終了位置でパーティションを作成する。ファイルシステムの種類は省略可能 ・GPTの場合:指定した名前とファイルシステムの種類)、開始位置、終了位置のパーティションを作成する。ファイルシステムの種類は省略可能 |
m | 利用可能なコマンドを一覧する |
name 番号 名前 | 指定した番号のパーティションに名前を付ける(MBRでは無効、GPTでは有効) |
rescue 開始 終了 | 開始位置、終了位置で指定した範囲付近にあるパーティションをユーザーの同意を得て復活する。位置は4G、10%、-1s(1セクタ前)などと指定(負の値を指定した場合はディスクの終わりからの位置となる) |
rm 番号 | 指定した番号のパーティションを削除する |
disk_set フラグ onまたはoff | 選択しているデバイスのフラグを設定する |
disk_toggle フラグ | 選択したデバイスのフラグの状態をonならoff、offならonにする |
set 番号 フラグ onまたは同off | 指定したパーティションのフラグを設定する |
toggle 番号 フラグ | 指定したパーティションのフラグの状態をonならoff、offならonにする |
unit 単位 | デフォルトの単位を「s(セクタ)」「%」「B、kB、MB、GB、TB(1000の倍数)」「kiB、MiB、GiB、TiB(1024の倍数)」などから選択する |
quit、またはq | partedを終了する |
全ディスクのパーティション情報を表示する
# parted -l |
/モデル: VMware Virtual NVMe Disk (nvme) ディスク /dev/nvme0n1: 21.5GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos ディスクフラグ: 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 1 1049kB 1075MB 1074MB primary xfs boot 2 1075MB 21.5GB 20.4GB primary lvm |
追加のディスクを利用できるようにする。
1. 追加したディスクの確認
# parted -l |
モデル: VMware Virtual NVMe Disk (nvme) ディスク /dev/nvme0n1: 21.5GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos ディスクフラグ: 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 1 1049kB 1075MB 1074MB primary xfs boot 2 1075MB 21.5GB 20.4GB primary lvm エラー: /dev/nvme0n2: ディスクラベルが認識できません。 モデル: VMware Virtual NVMe Disk (nvme) ディスク /dev/nvme0n2: 5369MB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: unknown ディスクフラグ: |
エラーで/dev/nvme0n2のデバイスが表示されている。パーティションテーブルがunknownになっている。
このデバイスが追加されてディスクになる。
2. 追加したディスクにパーティションを作成する。
デバイスを指定して、partedを対話モードで起動する。
ファイルシステムは、xfs サイズは全部の領域。
# parted /dev/nvme0n2 |
GNU Parted 3.4 /dev/nvme0n2 を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 (parted) p ← ディスクを確認 エラー: /dev/nvme0n2: ディスクラベルが認識できません。 モデル: VMware Virtual NVMe Disk (nvme) ディスク /dev/nvme0n2: 5369MB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: unknown ディスクフラグ: (parted) mklabel gpt ← パーティションテーブルにgptを指定します (parted) p ← ディスクを確認。パーティションテーブルがgptになっている。 モデル: VMware Virtual NVMe Disk (nvme) ディスク /dev/nvme0n2: 5369MB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt ディスクフラグ: 番号 開始 終了 サイズ ファイルシステム 名前 フラグ (parted) mkpart ← パーティションを作成する。mkpartだけを入力すると問い合わせしてしてくる。 パーティションの名前? []? "Linux filesystem" ファイルシステムの種類? [ext2]? xfs 開始? 0% 終了? 100% (parted) p モデル: VMware Virtual NVMe Disk (nvme) ディスク /dev/nvme0n2: 5369MB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt ディスクフラグ: 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 1049kB 5368MB 5367MB xfs Linux filesystem ←パーティションが作成された。 (parted) quit |
mkpart "Linux filesystem" xfs 0% 100% と入力すると、問い合わせはなくすぐ実行される。
3. パーティションが作成されたので、xfsでフォーマットする。
# mkfs.xfs /dev/nvme0n2 |
meta-data=/dev/nvme0n2 isize=512 agcount=4, agsize=327680 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 bigtime=1 inobtcount=1 data = bsize=4096 blocks=1310720, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 |
4. xfsでフォーマットされたので、/disk2にマウントする。
# mkdir /disk2 |
# mount /dev/nvme0n2 /disk2 |
# df -h |
ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 778M 9.7M 769M 2% /run /dev/mapper/almalinux-root 17G 7.1G 10G 42% / /dev/nvme0n1p1 1014M 231M 784M 23% /boot tmpfs 389M 104K 389M 1% /run/user/1000 /dev/nvme0n2 5.0G 68M 5.0G 2% /disk2 |
www.it-shikaku.jp
[Top] | |
[講義目次] | |
[1.04:リポジトリとパッケージ管理] | |
[1.05:ハードウェア、ディスク、パーティション、ファイルシステム] | |
[1.05.1 ハードウェアの基礎知識と設定] | |
[1.05.2 ハードディスクのレイアウトとパーティション] | |
[1.05.3 ファイルシステムの作成と管理、マウント] | |
[1.06:シェルおよびスクリプト] | |
[講義検索] | |
[リンク集] |